/**
 * 不再需要 router，UI模块了，只需 一个中间层
 * */ 

import axios, { AxiosResponse } from 'axios';
import event from './eventEmitter'

const ins = axios.create({
  baseURL: 'http://localhost:3000'
})

const successHandeler = (res: AxiosResponse): any => {
  // ...
}

const errorHandeler = (error:any): any => {
  if (error.response.status === 401) {  // 出发事件后，要做什么，到中间层去做， 耦合就断开了
    event.emit('API:UN_AUTH')
  } else if (error.response.status === 400) {
    event.emit('API:INVALID')
  }
}

ins.interceptors.response.use(successHandeler, errorHandeler)